﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<math.h>
#include<string.h>

//int main()
//{
//	printf("Hello World!");
//	return 0;
//}


//首先打印出由给定符号组成的最大的沙漏形状，最后在一行中输出剩下没用掉的符号数
//
//int main()
//{
//	//先读取
//	int num;
//	scanf("%d", &num);
//
//	//先计算出有多少行
//	int sum = 1;
//	int c = 3;
//	while (sum < num)
//	{
//		sum += c * 2;
//		c += 2;
//	}
//	sum = sum - (c-2) * 2;
//	int con = sum;
//	c -= 2;
//	int max = c-2;
//	//计算出最多一行有c-2个*
//	int line = ((c - 2) / 2) * 2 + 1;
//	//计算出有多少行
//
//	//运用两个循环来打印漏斗
//	for (int i = 0; i < line / 2 + 1; i++)
//	{
//		//先打印空格
//		for (int m = 0; m < i; m++)
//			printf(" ");
//		//打印*
//		for (int n = max; n>0;n--)
//			printf("*");
//		printf("\n");
//		max -= 2;
//	}
//	max = 3;
//	//打印下面的漏斗
//	for (int i = line/2; i > 0 ; i--)
//	{
//		//先打印空格
//		for (int m = 1; m < i; m++)
//			printf(" ");
//		//打印*
//		for (int n = 0; n < max; n++)
//			printf("*");
//		printf("\n");
//		max += 2;
//	}
//	printf("%d", num - con);
//	return 0;
//}


//计算一个数值中每个数字出现的次数
//int main()
//{
//	//先将可能出现的数字储存到mem数组中
//	int mem[10] = { 0,1,2,3,4,5,6,7,8,9 };
//	//再创建一个数组专门用来计算出现了多少次
//	int num[10] = { 0 };
//	//读取输入的数字
//	char arr[1000];
//	scanf("%s", arr);
//	//此时已经挨个放进去了
//	char* p = arr;
//	while (*p != '\0')
//	{
//		for (int i = 0; i < 10; i++)
//		{
//			if ((*p-'0') == mem[i])
//			{
//				num[i]++;
//				break;
//			}
//		}
//		p++;
//	}
//	//打印出结果
//	for (int i = 0; i < 10; i++)
//	{
//		if (num[i] != 0)
//		{
//			printf("%d:%d", i, num[i]);
//			printf("\n");
//		}
//	}
//	return 0;
//}


//计算摄氏温度
//C=5×(F−32)/9

//int main()
//{
//	double f;
//	scanf("%lf", &f);
//
//	int ces = 5 * (f - 32) / 9;
//	printf("Celsius = %d", ces);
//
//	return 0;
//}



//L1 - 005 考试座位号

//////创建结构体来储存考生信息
//typedef struct STU
//{
//	char numb[16];
//	int a;
//	int b;
//}ST;
//
//
//int main()
//{
//	int m,n;
//	scanf("%d", &m);
//	ST arr[1000];
//	//读取考生数据
//	for (int i = 0; i < m; i++)
//	{
//		scanf("%s %d %d", arr[i].numb, &arr[i].a, &arr[i].b);
//	}
//	scanf("%d", &n);
//	int stu[1000];
//	//记住考生座位
//	for (int i = 0; i < n; i++)
//		scanf("%d", &stu[i]);
//	//比较考生座位并打印
//	for (int i = 0; i < n; i++)
//	{
//		for (int p = 0; p < m; p++)
//		{
//			if (arr[p].a == stu[i])
//			{
//				for (int i = 0; i < 16; i++)
//					printf("%c", arr[p].numb[i]);
//				printf(" %d", arr[p].b);
//				printf("\n");
//			}
//		}
//	}
//	return 0;
//}



//L1 - 007 念数字
//void print(int a)
//{
//	switch (a)
//	{
//	case 0:printf("ling ");
//		break;
//	case 1:printf("yi ");
//		break;
//	case 2:printf("er ");
//		break;
//	case 3:printf("san ");
//		break;
//	case 4:printf("si ");
//		break;
//	case 5:printf("wu ");
//		break;
//	case 6:printf("liu ");
//		break;
//	case 7:printf("qi ");
//		break;
//	case 8:printf("ba ");
//		break;
//	case 9:printf("jiu ");
//		break;
//	}
//}
//void print_01(int a)
//{
//	switch (a)
//	{
//	case 0:printf("ling");
//		break;
//	case 1:printf("yi");
//		break;
//	case 2:printf("er");
//		break;
//	case 3:printf("san");
//		break;
//	case 4:printf("si");
//		break;
//	case 5:printf("wu");
//		break;
//	case 6:printf("liu");
//		break;
//	case 7:printf("qi");
//		break;
//	case 8:printf("ba");
//		break;
//	case 9:printf("jiu");
//		break;
//	}
//}
//
//int main()
//{
//	int num;
//	scanf("%d", &num);
//	if (num == 0)
//	{
//		printf("ling");
//		return 0;
//	}
//	if (num < 0)
//	{
//		printf("fu");
//		num = -num;
//	}
//	//设置数组储存每个数字
//	int arr[1000] = { 0 };
//	int count = 0;
//	int i = 0;
//	while (num)
//	{
//		arr[i] = num % 10;
//		i++;
//		num /= 10;
//		count++;
//	}
//	for (int i = count - 1; i >= 0; i--)
//	{
//		if (i == 0)
//		{
//			print_01(arr[i]);
//			break;
//		}
//		print(arr[i]);
//
//	}
//	printf("\n");
//	return 0;
//}



//L1 - 008 求整数段和
//给定两个整数A和B，输出从A到B的所有整数以及这些数的和。
//int main()
//{
//	int A, B;
//	scanf("%d %d", &A, &B);
//	int sum = 0;
//	int count = 0;
//
//	for (int i = A; i <= B; i++)
//	{
//		printf("%5d", i);
//		count++;
//		if (count % 5 == 0)
//			printf("\n");
//		sum += i;
//	}
//	printf("Sum=%d", sum);
//
//	return 0;
//}


//本题要求将输入的任意3个整数从小到大输出。
//
//int main()
//{
//	int arr[3] = { 0 };
//	for (int i = 0; i < 3; i++)
//		scanf("%d", &arr[i]);
//
//	//排序
//	for (int i = 0; i < 3; i++)
//	{
//		for (int n = i + 1; n < 3; n++)
//		{
//			if (arr[i] > arr[n])
//			{
//				int tmp = arr[i];
//				arr[i] = arr[n];
//				arr[n] = tmp;
//			}
//		}
//	}
//	printf("%d", arr[0]);
//	//输出
//	for (int i = 1; i < 3; i++)
//		printf("->%d", arr[i]);
//	printf("\n");
//	return 0;
//}



//输出2的n次方
//int main()
//{
//	int n;
//	scanf("%d", &n);
//
//	int ans = 2;
//	for (int i = 0; i < n; i++)
//		ans *= 2;
//
//	printf("2^%d=%d\n", n, ans);
//
//
//	return 0;
//}



//计算阶乘和
//
//int main()
//{
//	int n;
//	scanf("%d", &n);
//
//	int a = 1;
//	int sum = 0;
//
//	for (int i = 1; i <= n; i++)
//	{
//		a *= i;
//		sum += a;
//	}
//	printf("%d\n", sum);
//
//	return 0;
//}




//L1 - 015 跟奥巴马一起画方块

//int main()
//{
//	int n;
//	char ch;
//	scanf("%d %c", &n, &ch);
//
//	int line = (int)round(n / 2.0);
//
//	for (int i = 0; i < line; i++)
//	{
//		for (int a = 0; a < n; a++)
//			printf("a");
//		printf("\n");
//	}
//	printf("\n");
//
//	return 0;
//}



//L1 - 016 查验身份证

//Z：0 1 2 3 4 5 6 7 8 9 10
//M：1 0 X 9 8 7 6 5 4 3 2

//int main() {
//    int num1[17] = { 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2 };
//    char num4[11] = { '1','0','X','9','8','7','6','5','4','3','2' };
//    char arr[100][18];
//    int N = 0, sum = 0, flag = 0, n = 0;
//    scanf("%d", &N);
//    for (int i = 0; i < N; i++)
//        scanf("%s", &arr[i][0]);
//
//    for (int i = 0; i < N; i++) {
//        sum = 0;
//
//        for (int j = 0; j < 17; j++) {
//            sum += (arr[i][j] - '0') * num1[j];
//        }
//        n = sum % 11;
//        if (arr[i][17] != num4[n]) {
//            flag = 1;
//            for (int m = 0; m < 18; m++)
//                printf("%c", arr[i][m]);
//            printf("\n");
//        }
//    }
//    if (flag == 0) {
//        printf("All passed\n");
//    }
//    return 0;
//}


//L1 - 017 到底有多二

int main()
{
	double a = 1.0;//是否是负数
	int b = 1;//是否是偶数
	int count = 0;  //计算有多少位
	char arr[50];
	scanf("%s", arr);

	if (arr[0] == '-')
	{
		count--;
		a = 1.5;
	}

	double er = 0.0;
	int i = 0;
	char last=arr[0];
	while (arr[i])
	{
		if (arr[i] - '0' == 2)
			er++;
		count++;
		last = arr[i];
		i++;
	}
	if ((last - '0') % 2 == 0)
		b = 2;

	double ans = er / count * a * b * 100.0;
	printf("%.2lf""%%", ans);

	return 0;
}
